1. Technical Field of the Invention
The present invention relates generally to the telecommunications field and, in particular, to a method and architecture for supporting communications mobility in a telecommunications system.
2. Description of Related Art
Ever since the beginning of the 1990s, the demand for increased mobility in the computing and communications fields has grown substantially. However, despite the increased mobility that has developed in these fields as a result of the heightened demand, the users of these technologies have all the while insisted on being able to maintain their Internet connectivity because of the massive amount of information that has been made available and the myriad of communications services that can be accommodated on the Internet. As such, mobility in Internet Protocol (IP) networks has become one of the hottest development areas with respect to the ability of providing a continuous flow of data from and to mobile terminals.
With the advent of the next (so-called xe2x80x9cthirdxe2x80x9d) generation mobile communications systems, two additional requirements are being imposed on mobile terminal designs. The first such requirement is for a mobile terminal to be capable of communicating over a number of different wireless interfaces. The second requirement is for the mobile terminal to be capable of automatically changing a communications interface in order to adapt to the available network, or in accordance with a network""s characteristics if multiple networks are involved. The latter (multiple network) capability leads to the need for a terminal that can change its Internet identification (e.g., IP address) when the terminal has changed the type of Internet access network being used or the Internet Service Provider (ISP) offering such access. On the one hand, just having the opportunity to use multiple network interfaces to access the Internet is a significant advantage. However, on the other hand, it becomes more difficult to provide a continuous data flow for highly mobile terminals which are capable of changing their Internet identifications, while maintaining their ongoing connections to the Internet servers.
Support for such communications mobility can be provided in two different ways which depend on the underlying communication infrastructure. One method for supporting mobility is designed for users with fixed connections or local wireless connections to the Internet via Local Area Networks (LANs). This approach allows a user to maintain its identity (IP address), ongoing connections, etc., while physically changing the points of attachment to another LAN. This form of mobility frequently provides support for xe2x80x9cDecoupled Computing,xe2x80x9d as described in xe2x80x9cAdaptation and Mobility in Wireless Information Systems,xe2x80x9d by Randy H. Katz, IEEE Personal Communications, First Quarter 1994. The term xe2x80x9cdecoupled computingxe2x80x9d is defined as the ability to compute while being detached from the existing computing and communication infrastructure. This capability can be achieved by using file caching techniques on local devices. Subsequently, when a device is again attached to some communication environment, the changed files can be automatically synchronized with copies maintained on a file server. This technique of xe2x80x9cdecoupled computingxe2x80x9d is important because it provides a capability for continuing the computing process locally during movement between communication environments where users spend most of their time (e.g., home, office, corporate or university campus, etc.).
A number of proposals have been made to support this type of mobility. However, the basic assumption made in all of these proposals is that a mobile station has a fixed IP address regardless of its point of attachment. This assumption implies that the IP address must be unique within the public Internet address space in order to allow the mobile station to connect to an arbitrary IP network.
Another type of mobility service exploits certain opportunities offered by wide area wireless networks. This type of service is intended for users who require access to information and other resources while being physically located away from LAN infrastructures. For example, the basic ideas concerning the provision of continuous network connectivity in a wide area wireless environment are described in xe2x80x9cThe Design of a Platform for Mobile Data Communication,xe2x80x9d by Peter Peinl and Christoph Kroll, First IEEE Symposium on Global Data Networking, Cairo, Dec. 12-15, 1993. Essentially, information about this type of service has not been widely published because mobility can be readily supported by wide area wireless networks, as long as the user is located in the coverage area of the same Internet Service Provider (ISP) or does not change the network type. In this case, the existing solutions can provide continuous data flow regardless of a change in the geographical position of the user""s terminal.
A significant problem arises if a terminal, for some reason, needs to change its IP identification (i.e., IP address) while maintaining an ongoing communication session with an Internet host. In this case, changing the terminal""s IP address makes it impossible for the terminal to resume communication at the point where the communication was interrupted. As such, all active sessions have to be started over from the very beginning. Consequently, the process of starting the communication sessions over can be extremely burdensome especially for the terminals connected to the Internet through low capacity, wide area wireless networks.
The main reason for changing an IP address is related to the strategy used for allocating IP addresses for Internet hosts. First, an IP address can be public or private. A public IP address is the address which is unique among all Internet hosts having direct access to the Internet. A private IP address is the address that can replicate any public IP address but is not xe2x80x9cvisiblexe2x80x9d on the global Internet. In other words, this address exists within some LAN or Intranet and is substituted for by some other, public IP address when communicating with the hosts within the global Internet.
Second, an IP address can be dynamic or static. A dynamic IP address is the address that is allocated from the common pool of IP addresses at an ISP. The first available address in the pool is selected. This means that every time a host (e.g., server) wishes to be connected to the Internet, the host will receive an IP address from the ISP""s pool, which means that the IP address can be different from time to time.
A static IP address is the address which is associated with a terminal during the lifetime of a subscription at some ISP. This address is closely related to the communication interface of some particular access network. Additionally, both public and private IP addresses can also be static and dynamic. In summary, the basic problem is that an IP address is not always associated with a particular terminal, and the IP address needs to be changed if the terminal changes an access network type and/or its ISP.
Traditionally, the communications between Internet hosts include certain end-to-end semantics. These functions are provided by the known Transport Control Protocol (TCP). The end-to-end channel between communicating peers is defined by two socket pairs: a local host socket pair and a remote host socket pair. Each socket pair comprises two componentsxe2x80x94an IP address (local or remote) and TCP port number (local or remote). A change made to any of these components (or to them both) leads to a need to establish a new end-to-end communication channel, although physically the same hosts are involved in the communication. According to the existing semantics for communications between two Internet hosts using the TCP, it is not possible to map a previous TCP connection to a new connection, if one or more components of the socket pair has been changed.
Ultimately, the above-described problem can be summarized as follows. If a fixed or mobile terminal changes its IP address while it is engaged in ongoing communication sessions with Internet hosts, these sessions cannot be resumed at the point of interruption. Instead, these sessions have to be restarted at the very beginning. Consequently, a user has too be connected for a much longer period than usual in order to obtain a desired result, and the resulting communication session becomes much more expensive.
The solutions that exist for gaining IP mobility do not cope with the above-described types of problems for two reasons. First, the existing solutions assume that the mobile host will not change its IP address during a communication session. Second, the existing solutions assume that support for continuous data flow to/from a mobile terminal can be accomplished by establishing new routes to the terminal on the network layer (i.e., the IP layer residing below the TCP in the communications protocol stack).
In this regard, the session layer protocol is a known protocol that provides at least one solution to the above-described communications mobility problem. For example, the International Standards Organization (ISO) has set forth a number of data communications standards, including the Open Systems Interconnection (OSI) model. The OSI model is used to define the functions of various levels within a protocol stack. Under the OSI model, the session layer (layer 5) resides just over the transport protocol (layer 4) in the communications protocol stack. As such, the primary tasks of the session layer are as follows: establishment and maintenance of sessions; management of dialogs; and session recovery. These features provide for the resumption of communication sessions that have been interrupted for any reason by the underlying protocols. However, although these features result in a notion of session independence for end-to-end semantics in data communications over the Internet, they still depend on the use of the IP addresses of communicating peers. As such, the existing solution assumes that the IP addresses for the dialog at the resumed session are the same as they were for both the client and server before the session was interrupted.
Another existing solution to the communication mobility problem uses the concept of multiplexed TCP connections. This concept was first described in xe2x80x9cWebExpress: A System for Optimizing Web Browsing in a Wireless Environment,xe2x80x9d by Barron C. Housel and David B. Lindquist, ACM/IEEE MobiCom""96 Conference, 1996. The primary goal of this concept is to speed up the operation of Web browsing for users of low capacity wireless links for Internet access. All TCP connections issued by a wireless terminal are multiplexed into one TCP connection, which is established between a Client Side Intercept (CSI) module and a Server Side Intercept (SSI) module. The CSI module resides locally in the wireless terminal and functions as a local xe2x80x9chttpxe2x80x9d proxy for a Web browser. The SSI module resides in the Internet (wired part of the network) and functions as another xe2x80x9chttpxe2x80x9d proxy that directly communicates with the original server. The multiplexed TCP connection is thus implemented, along with some other enhancements designed to reduce the amount of information that passes between the CSI and SSI modules. Nevertheless, the multiplexed TCP connection solution does not account for the case where a mobile terminal changes its IP address during the period when a session has been interrupted and thus cannot be resumed successfully at the point of interruption. Consequently, a need exists for a protocol and method that will support such communications mobility. As described in detail below, the present invention successfully meets this need and resolves the above-described problems.
In accordance with a preferred embodiment of the present invention, a multilevel Session Management Protocol (SMP) is provided to support communications mobility in a telecommunications system. A communications session is separated into two independent layersxe2x80x94a terminal session layer and an application session layer. For this exemplary embodiment, a Session Management Agent (SMA) is implemented as a module operating locally in a wireless terminal. A second SMA is implemented as a module operating remotely in the Internet. Any SMA module can communicate with another SMA module by use of the SMP. The two SMA modules use a multiplexed TCP connection for conveying TCP data traffic therebetween. As such, the SMP can be used with any application that uses an Internet TCP as a transport protocol. Of course, it is within the scope of the present invention to use other IP-based protocols, with changes in the SMP in accordance with the properties of these protocols.
An important technical advantage of the present invention is that a mobile client""s communications session can be interrupted and resumed successfully and independently of a network""s current configuration, access network used, and the client""s current IP address.
Another important technical advantage of the present invention is that a change in a network configuration and/or a client""s IP address can take place during a transfer of data and subsequently the data missing due to the interruption will be recovered.